Itdaksh Education
Python

Python Developer Roadmap from Scratch 2026 Guide

The complete 7-phase Python developer roadmap from absolute zero to job-ready in India in 2026 with milestones, salary data, and a first-week plan.

Mrityunjay Pandey Mrityunjay Pandey
· 3 June 2026 · 18 min read
Share:
Three structural traps that prevent Python learners from getting hired — learning without sequence consuming without building and no employment destination

Direct Answer:

The complete roadmap to become a job-ready Python developer from absolute zero is a 6 to 7 month journey divided into seven sequential phases: Python foundations, Python proficiency, database and SQL, web fundamentals, backend development with Django or Flask, frontend integration with React, and portfolio and placement preparation in that exact order, no shortcuts.

That sentence contains the entire roadmap. Everything in this article explains what each phase means in practice, how long it takes, what milestone tells you it is complete, and what to do when you are stuck. If you follow this sequence and hit every milestone, you will be ready for your first Python developer interview within six months of starting from zero.

Introduction: Why Most Python Learners Fail Before They Get Hired

Before the roadmap, the honest diagnosis of why most people who start learning Python do not end up employed as Python developers. It is not because Python is too hard. It is because of three structural mistakes that almost every self-directed learner makes.

The first mistake is learning without a sequence. Python can lead to Data Science, web development, automation, AI, and scripting. Most beginners try to learn all of these directions simultaneously, or they jump between YouTube tutorials about different applications without building depth in any one path. The result is surface familiarity with many things and actual proficiency in none of them which is precisely what a technical interviewer identifies within the first five minutes of any serious screening.

The second mistake is consuming without building. The most common pattern among Python learners is watching tutorials, understanding each step as the instructor executes it, feeling good about comprehension, and then sitting with an empty editor when asked to build something independently. Comprehension and capability are different cognitive states. You convert comprehension into capability only by attempting to build something without the tutorial running, encountering the errors that come from that attempt, debugging them, and completing the output. This cycle is where skill forms. Watching it happen is not the same as doing it.

The third mistake is learning without an employment destination in mind. A Python developer job requires a specific, finite set of skills. The rest of Python’s vast ecosystem is optional valuable eventually, but not required to get hired. Learners who do not know their destination keep adding topics to their list indefinitely, always feeling one more course away from readiness. The roadmap in this article defines the destination precisely. Everything outside it is for after the first job.

Phase 1 Python Foundations (Weeks 1 to 3): Building the Right Mental Model

Phase 1 Python foundations visual showing the mental model for variables data types control flow functions and OOP as the base layer for all Python development
A foundational layer diagram or concept map showing the five concept areas of Phase 1 — Variables and Data Types, Control Flow (if/elif/else), Iteration (for, while, range, enumerate), Functions (parameters, return values, default args), and Object-Oriented Programming (classes, init, inheritance) — arranged as building blocks, with the Phase 1 milestone statement ("write 5 programmes from blank memory") prominently displayed as the completion criterion.

Every Python developer, regardless of the framework they eventually master, starts with the same foundational layer. The concepts in this phase are not stepping stones to the “real” Python. They are the real Python. Every advanced tool you will ever use in this language is built on these primitives, and a developer who does not own them at a fluent level has a fundamental weakness that shows up under interview pressure.

Python syntax in Phase 1 means variables and assignment, all data types (integers, floats, strings, booleans, None), operators, string formatting using f-strings, and type conversion. It means control flow if, elif, else and iteration for loops, while loops, range, enumerate, and zip. It means functions, including default parameters, return values, and the distinction between a function that computes something and a function that prints something (a distinction that many beginners blur and that interviewers use to probe for depth). And it means Object-Oriented Programming: classes, objects, the __init__ constructor, instance attributes, methods, inheritance, and polymorphism.

The milestone for Phase 1 is not “I finished a course.” It is a behavioural test: can you sit with a blank Python file and write five different, working programmes from memory without looking anything up? A programme that reads a user’s name and age and prints a formatted greeting. A programme that takes a list of numbers and returns the mean, maximum, and minimum. A class called Student with attributes and a method that prints a summary. A programme that reads a text file and counts word frequency. A programme that uses inheritance to create a child class with an extended method. If you can write all five without external help, Phase 1 is complete.

(Read more: https://www.itdaksh.com/)

Phase 2 Python Proficiency (Weeks 4 to 6): The Concepts That Separate Beginners from Developers

Phase 2 Python proficiency concepts showing file handling exception handling list comprehensions decorators and lambda functions
A concept comparison visual showing the Phase 2 skills that separate Python beginners from developers — File Handling (open, with statement, CSV), Exception Handling (try/except/finally), List and Dictionary Comprehensions, Generator Expressions, Lambda and Map/Filter, and Decorators. The visual emphasises the "Pythonic thinking" concept — showing each skill as a shift from beginner pattern to developer pattern — with the Phase 2 milestone (20 problems without hints) as the completion marker.

Phase 2 Python Proficiency (Weeks 4 to 6): The Concepts That Separate Beginners from Developers

Phase 1 gives you the foundation. Phase 2 gives you the fluency. The concepts in this phase are what differentiate a person who has “done a Python tutorial” from a person who actually thinks like a Python developer.

File handling is the ability to open, read, write, and append to text and CSV files using the open() function and the with statement context manager. In the real world, developers work with files constantly reading configuration files, processing CSV data exports, writing log files. A developer who cannot do this reliably is a significant gap in any real project.

Exception handling is the ability to write try, except, else, and finally blocks that catch specific exception types gracefully and log or handle errors without crashing the entire programme. Production Python code catches exceptions. Tutorial Python often does not. The interview question "how would you handle an error in this function?" is specifically testing this phase.

List comprehensions, dictionary comprehensions, and generator expressions are the Pythonic way to transform data concisely. They are not syntactic sugar. They are the thinking pattern of a Python developer, and interviewers use them to evaluate whether a candidate thinks in Python or in another language that happens to be typed in Python. The lambda function, the map() and filter() built-ins, and decorators complete this phase. Decorators specifically appear in Django and Flask extensively, and understanding them at a conceptual level before encountering them in a framework makes the backend phase significantly less confusing.

The milestone for Phase 2 is solving 20 real Python problems from a platform like LeetCode’s easy tier or HackerRank’s Python practice without looking at solutions or hints. Not 20 problems with occasional help. Twenty problems with zero external assistance, each written, debugged, and tested in your own local editor. If this feels difficult, that is the point. Difficulty at this stage is calibration, not failure.

Phase 3 Database and SQL (Weeks 7 to 9): The Language Every Backend Developer Must Speak

Databases are where applications store and retrieve their data. Every web application you will ever build as a Python developer will talk to a database. A Python developer who cannot write SQL fluently is not a Full Stack developer. They are a frontend developer with Python syntax, and that is a fundamentally weaker candidate profile.

SQL in Phase 3 means SELECT statements with WHERE, GROUP BY, ORDER BY, HAVING, and LIMIT. It means JOIN operations across multiple tables INNER JOIN, LEFT JOIN, and RIGHT JOIN and understanding which join type to use for which data relationship. It means aggregate functions (COUNT, SUM, AVG, MAX, MIN) and subqueries. It means CREATE TABLE, INSERT, UPDATE, and DELETE the full CRUD cycle. And it means understanding the difference between MySQL and PostgreSQL at a practical level both are relational databases, PostgreSQL is more standards-compliant and feature-rich, MySQL is more widely deployed in shared hosting environments.

Setting up MySQL locally using XAMPP or installing PostgreSQL and using the psql command line interface is a Phase 3 activity. The goal is not to become a database administrator. It is to become a developer who can design a simple data model, create the tables, insert test data, and query it confidently. By the end of Phase 3, you should have built a working database application: a simple student management system or a product inventory tracker, with tables, relationships, and queries that answer real questions about the data.

Phase 4 Web Fundamentals (Weeks 10 to 12): The Frontend Layer Every Python Backend Developer Needs

 Phase 4 web fundamentals for Python developers showing HTML CSS JavaScript Bootstrap and DOM basics
A three-layer frontend stack visual showing HTML (structure — Week 1), CSS (styling — Week 2, including Flexbox, Grid, media queries), and JavaScript (interactivity — Week 3, DOM manipulation, fetch API). The visual also shows Bootstrap or Tailwind CSS as a rapid UI addition, and the Phase 4 milestone output (a styled, functional, multi-page web interface with a form submission). The visual communicates that Phase 4 is about frontend literacy, not frontend mastery.

Python Full Stack Development requires knowing enough frontend to understand what you are connecting your backend to, to build simple user interfaces, and to communicate intelligently with dedicated frontend developers. Phase 4 is not about becoming a frontend expert. It is about becoming a developer who is not lost in an HTML file.

HTML structure semantic tags, forms, input types, attributes, and the DOM concept is learnable in a focused week. CSS styling selectors, the box model, Flexbox, Grid, media queries, and basic responsive design takes another week. JavaScript fundamentals variables, functions, the DOM manipulation basics, fetch API for HTTP requests, and event handling is the third week of Phase 4. Together, these give you the frontend literacy to build a styled, functional, multi-page web interface that submits a form and displays dynamic content.

Bootstrap or Tailwind CSS for rapid UI design is a practical addition in this phase. Most Python Full Stack developers use a CSS framework to produce usable frontend work faster rather than hand-writing every CSS rule. Knowing one of these frameworks well removes the friction between backend work and a functional, professional-looking UI which makes the portfolio projects in Phase 6 substantially more impressive.

(Read more: https://www.itdaksh.com/)

Phase 5 Backend Development with Django or Flask (Weeks 13 to 18): Where Python Meets Production

Phase 5 backend development Django REST Framework MVT architecture JWT authentication Postman testing guide for Python beginners
A Django backend architecture visual showing the complete Django REST Framework development cycle — MVT architecture diagram (Model → View → Template), Django project structure, ORM and database migration flow, URL routing, Django REST Framework serialisers and viewsets, JWT token authentication flow, and Postman testing interface with a GET/POST endpoint example. Mr. Zafar Khan's name and credentials may appear as a callout near this visual given his curriculum contribution noted in the article.

This is the phase that most Python learners are most excited about and most likely to rush through. Do not rush it. Phase 5 is the longest phase for a reason: building real, secure, production-capable web applications requires understanding concepts that tutorials can demonstrate but that only building actually teaches.

The choice between Django and Flask is not a values debate. Django is the batteries-included framework it provides authentication, an admin panel, ORM, URL routing, form validation, and middleware out of the box. Flask is the microframework it provides the minimum structure and lets you add what you need. For a beginner building their first real web application, Django’s built-in structure reduces the number of architectural decisions that need to be made simultaneously, which reduces overwhelm and accelerates completion of a working application.

The Django learning sequence within Phase 5: understand the MVT (Model-View-Template) architecture, create a Django project and application, define models, run migrations, write views, configure URLs, create templates, use the Django admin panel, and connect the application to a MySQL or PostgreSQL database. Then move to Django REST Framework: create API endpoints, use serialisers, implement token authentication using JWT (JSON Web Token), and test endpoints using Postman.

Postman is an essential tool for API development that most beginners skip. It is the tool that lets you test your API endpoints independently of any frontend, checking that your GET, POST, PUT, and DELETE methods return the correct data and status codes before you connect them to a UI. Using Postman from the beginning of backend development builds the professional habit of API-first testing.

At Itdaksh Education, the Python Full Stack curriculum specifically includes a complete Django REST Framework build as the mid-programme project a functional backend with authentication, multiple endpoints, database integration, and Postman documentation. Mr. Zafar Khan, Director of Training and Placement with 15 years of Full Stack development experience, specifically structures this phase to mirror what developers encounter in their first week at any company that uses Python in production. The project is not a tutorial exercise. It is a production-pattern application.

(Read more: Python Full Stack Development Course at Itdaksh EducationCurriculum and Placement])

Phase 6 Frontend Integration with React (Weeks 19 to 22): Making It Full Stack

Phase 6 React frontend integration with Django REST API showing components props state useEffect Axios and full stack application deployment
A full stack integration diagram showing the complete application architecture — React frontend (components, useState, useEffect hooks) making Axios HTTP requests to a Django REST API backend, which queries a MySQL or PostgreSQL database and returns JSON responses rendered dynamically in the React UI. The deployment endpoint (Render or Railway) is shown as the final layer, with the Phase 6 milestone (a deployed, end-to-end full stack application) as the completion criterion.

By Phase 6, you have a working Django REST API and a basic HTML/CSS/JavaScript foundation. Phase 6 connects the two into a complete, end-to-end application and introduces React.js as the frontend framework that most Python Full Stack roles in India’s market in 2026 expect developers to know at least at the functional level.

React is not a new programming language. It is a JavaScript library for building user interface components. If you completed Phase 4, you have the JavaScript foundation to learn React. The React learning sequence in Phase 6: understand components, props, and state; use useState and useEffect hooks; make API calls to your Django backend using the Axios library; render the returned data dynamically in the UI; and handle loading states and error states correctly.

The Phase 6 milestone is a complete full stack application: a frontend built in React that communicates with a Django REST API backend, with a MySQL or PostgreSQL database behind it, deployed to a cloud platform like Render or Railway. This is the capstone-ready state. A developer who can explain every layer of this stack from the database schema to the API endpoint to the React component that renders the data has something to talk about in an interview for at least 30 minutes.

Phase 7 Portfolio and Placement Preparation (Weeks 23 to 26): Converting Skill into Employment

Phase 7 is the phase that most self-directed learners never formally enter, and it is the phase that determines whether the previous six months of learning produces employment or not.

Git and GitHub are the first elements of Phase 7. Every project built in Phases 5 and 6 should be committed to a well-organised GitHub repository with a clear README explaining the project, its problem statement, the tech stack, the installation instructions, and screenshots of the application working. A GitHub profile with two or three well-documented repositories communicates active development to any recruiter or hiring manager who checks it. An empty or poorly documented GitHub profile communicates the opposite, regardless of how good the actual code is.

The ATS-optimised resume places your Skills section and Projects section above your Education section. Each project is described in two sentences: the problem it solves and the technologies it uses. Every technology name must match the exact string used in job descriptions. “Python web development” fails ATS screening. “Python, Django, React, REST API, MySQL, Git” passes it.

Mock interviews are the final and most important element of Phase 7. The technical interview for a Python developer role tests three things simultaneously: your conceptual knowledge of Python and Django, your ability to walk through your project with confidence and answer follow-up questions about your architectural decisions, and your ability to write or debug a small function under observation. A developer who has practised each of these three formats at least five times before a real interview performs measurably better than one who has not.

At Itdaksh Education, the Skill Mastery Framework specifically includes mock interviews as the fifth and final pillar because this conversion step from knowledge to interview performance is where most trained candidates fail. Students who clear the mock interview requirement are the ones who receive placement calls from the institute’s network of 1,500+ hiring companies. The placement track record with students placed at Biztran Solutions, MassTech Solutions, Infohybrid, and other companies reflects the outcome of this complete seven-phase process, not just the technical training portion.

(Read more: [ What is the Skill Mastery Framework Itdaksh Education’s 5-Pillar Placement System])

The Contrarian Truth About Becoming a Python Developer

Here is the insight that most Python learning content avoids because it reduces the apparent necessity of advanced courses: the number of Python concepts required to get hired as a junior or mid-junior Python developer is significantly smaller than the Python ecosystem’s total scope.

The common assumption is that a Python developer needs to know machine learning, data science libraries, advanced algorithms, multiple frameworks, cloud services, containerisation, and the full DevOps pipeline before they are hireable. This list is what an experienced senior developer knows after years of expanding their skill set. A fresher Python developer needs to know: Python core, one backend framework (Django or Flask), REST API development, SQL, Git, and enough JavaScript/React to complete a full stack project. That is the full list.

Every topic outside that list NumPy, Pandas, Scikit-learn, TensorFlow, Kubernetes, advanced algorithm theory is genuinely valuable and genuinely learnable after the first job. Companies that hire junior Python developers expect to continue training them. What they do not expect is to teach a junior developer the basics of a REST API or how to write a SQL join. Those are the gates, not the aspiration level.

This matters because learners who believe the full Python ecosystem is the prerequisite keep adding topics indefinitely and delay employment by months or years. The roadmap in this article is deliberately bounded. Every topic outside the seven phases is for Phase 8, which begins on the first day of your first Python developer role.

Your First Week as a Python Learner from Absolute Zero

Phase 7 portfolio and placement preparation showing GitHub README ATS resume mock interviews for Python Full Stack developer freshers
A three-component portfolio and placement preparation visual — GitHub Profile (repository with README, tech stack, screenshots, commit history), ATS-Optimised Resume (Skills → Projects → Education structure with exact keyword strings), and Mock Interview Preparation (technical screening, project walkthrough, HR round formats with specific failure patterns identified). The visual communicates that Phase 7 is an active preparation phase, not passive review, and that each component has a specific format requirement.

If today is day one and you have never written a line of Python, here is exactly what to do in the first seven days to build momentum and confirm you are on the right path.

Day 1 Environment setup. Install Python 3.x from python.org. Install VS Code from code.visualstudio.com. Install the Python extension in VS Code. Write your first programme: print("Hello, I am learning Python today."). Run it. Confirm it works. This step sounds trivial. It is not. Students who skip environment setup spend their first week stuck on a tutorial platform that does not reflect real development. Write code in a real editor from day one.

Day 2 Variables and data types. Write a programme that stores your name, age, and city in variables of the correct types, then prints a formatted sentence using all three. Then write a programme that converts a temperature from Celsius to Fahrenheit using a formula. Both programmes should be written without copying code. Type them. Fix the errors. Run them.

Day 3 Control flow. Write a programme that asks the user for a number and tells them whether it is positive, negative, or zero, and whether it is even or odd. Use if, elif, else. Use input() to take user input. Use int() to convert the string to an integer. Run it. Fix it. Repeat it.

Day 4 Loops. Write a programme that prints the multiplication table for any number the user enters. Write a second programme that takes a list of student names and prints each one with its position number. Use range() for the first and enumerate() for the second. Do not use a while loop unless you can explain why a for loop would not work for the specific requirement.

Day 5 Functions. Write three functions: one that takes a name and returns a greeting string, one that takes a list of numbers and returns the average, and one that takes two numbers and returns the larger one without using the max() built-in. Call each function and print the result.

Day 6 and 7 OOP. Write a class called BankAccount with attributes for account holder name and balance. Write methods to deposit, withdraw (with a check that balance cannot go negative), and print a formatted account summary. Create two instances with different starting balances. Call each method. Make sure the withdrawal check works correctly.

By day 7, you have written ten complete programmes from scratch. You have encountered Python syntax errors, logic errors, and runtime errors and fixed them yourself. You are not a Python developer yet. You have made the most important transition: from someone thinking about learning Python to someone actually learning it.

(Read more: [https://www.itdaksh.com/ How to Get Your First IT Job in Thane as a Fresher 2026])

Python Developer Career Progression: Then vs Now

Python developer career progression comparison table showing then versus now from 2020 to 2026 in India
A before-and-after comparison table showing how Python developer career requirements and hiring expectations have changed between 2020 and 2026 — covering factors such as framework knowledge required (Django basics vs DRF + React integration), portfolio requirement (optional vs near-mandatory), GitHub profile checking (uncommon vs routine), REST API knowledge (intermediate vs entry expectation), AI/Agentic AI integration (rare vs increasingly expected at senior level), fresher salary range (lower vs ₹3.5–6 LPA), self-learning feasibility (moderate vs low due to noise), and deployment expectation (theoretical vs demonstrated live app).

FAQs

Q1: How long does it take to become a Python developer from scratch in India?

With structured, daily training following the seven-phase roadmap in this article, the realistic timeline from zero programming experience to job-ready Python developer is 6 to 7 months. Self-directed learning without structure and daily accountability typically takes 12 to 24 months for the same outcome, if it is achieved at all. The difference is not the content — it is the daily consistency, the accountability structure, and the milestone-based progression that prevents indefinite topic-hopping.

Q2: What Python skills do companies actually require to hire a fresher developer in India?

The minimum hireable skill set for a junior Python developer in India in 2026 is: Python core and OOP, Django or Flask for backend, REST API development with Django REST Framework, SQL for database management (MySQL or PostgreSQL), basic JavaScript and HTML/CSS for frontend literacy, React basics for full stack capability, Git and GitHub for version control, and at least one complete deployable project. Every topic outside this list is valuable but not required for the first job.

Q3: Should I learn Django or Flask first as a Python beginner?

For beginners building their first web application, Django is the recommended starting point. Its built-in authentication, admin panel, ORM, and URL routing reduce the number of architectural decisions that need to be made simultaneously which means less overwhelm and faster completion of a working application. Once Django is understood, Flask feels intuitive as a lighter alternative. Learning Flask first as a beginner often leads to spending time configuring what Django provides automatically, which slows down the path to a real project.

Q4: How many projects should I build to get hired as a Python developer?

Two well-built, well-documented, end-to-end projects are more valuable than five incomplete or tutorial-replicated ones. The two projects that produce the strongest interview performance are: a Django REST API backend with authentication, multiple endpoints, and a database, tested with Postman and documented on GitHub; and a full stack application connecting that API to a React frontend, deployed to a cloud platform. These two projects can sustain 30 to 45 minutes of technical interview discussion and demonstrate the complete development cycle.

Q5: What is the starting salary for a Python developer fresher in India in 2026?

Entry-level salaries for Python Full Stack developer freshers in Mumbai and Thane in 2026 range from Rs 3.5 to Rs 6 LPA depending on the company type, the candidate’s skill depth, and the quality of their portfolio project. Product companies and fintech firms pay toward the upper end of that range. IT services companies pay toward the lower end. The highest salary drawn among Itdaksh Education’s placed Python Full Stack alumni is 8 LPA.

(Read more: Full Stack Developer Salary in India 2026 Fresher to Senior)

Q6: Can I become a Python developer without an engineering or IT degree in India?

Yes. Python developer roles in India’s private sector IT market evaluate candidates on demonstrated skill code quality, project architecture, API design, and interview performance not on degree credentials. A BSc Mathematics, BCA, or even non-IT degree graduate who completes a structured Python Full Stack programme, builds two deployable projects, and clears technical mock interviews is competitive for junior Python developer roles against engineering graduates who have not done the same preparation.

(Read more: Can a Non-IT Student Build a Career in Data Science 2026)

Key Takeaways

  • The seven-phase Python developer roadmap runs from Python foundations through proficiency, SQL, web fundamentals, backend development with Django, frontend integration with React, and portfolio and placement preparation in that exact sequence, taking 6 to 7 months with daily structured practice.
  • The PYTHON-7 Developer Progression provides a milestone for each phase that tells you when it is complete, not just what to study.
  • The three mistakes that prevent Python learners from getting hired are learning without a sequence, consuming without building, and learning without an employment destination defined in advance.
  • The minimum hireable Python developer skill set is smaller than most people believe. Core Python, Django, REST APIs, SQL, Git, and React basics are the full requirement. Everything else is post-employment learning.
  • Building two well-documented full stack projects on GitHub is more valuable than five incomplete tutorial reproductions. The projects are the interview.
  • Phase 7 portfolio and placement preparation is as important as any technical phase and is the stage most self-directed learners skip, which is why they complete learning and do not get hired.
  • Mock interview practice converts knowledge into performance. The five technical interview practices before a real interview produce qualitatively different candidate performance than zero practice, regardless of technical knowledge level.

Free resources:

Download the Free Python Developer Roadmap PDF the same 7-phase, milestone-based learning plan used by Itdaksh Education’s Python Full Stack programme students to go from absolute zero to placed Python developer in 6 months. Includes the daily study schedule, project briefs for each phase, and the interview preparation checklist.

Download the Roadmap https://drive.google.com/file/d/1I9poP65NIR2pAlkCigouKMhO7bq629PH/view?usp=sharing

Book a Free Demo: 8591434628

WhatsApp: wa.me/918591434628

Itdaksh Education 201 Ganesh Tower, Opposite Thane Railway Station, Thane West. ISO 9001:2015 and MSME Certified. Python Full Stack Development, Data Science with AI, Java Full Stack, Data Analytics, Agentic AI. Rated 4.9/5 on Google.

#Python developer roadmap 2026 #how to become Python developer India #PYTHON-7 developer progression #Django REST Framework beginner #Python Full Stack roadmap # Python developer salary India #React Django full stack # Itdaksh Education Python #Python beginner to professional #Python mock interview India
Free Counselling

Let's talk about your
career growth!

whatssap
logo

ADDRESS: ITdaksh Education Thane

2nd Floor, Ganesh Tower, Dada Patil Wadi, Opposite Thane Railway Station, Thane(w), 400602.

EMAIL ID:
contact@itdaksh.com

FOR COURSE CONTACT NUMBER:
+91 8591-434-628

Follow Us :

India’s Leading and trusted career transforming institute

Raise the bar of your career with the certification from one of the prestigious organizations

Thanks For Visiting

Privacy Policy | Terms & Conditions | Copyright © 2024 All Rights Reserved