Finish the 1 and 2 parts of the project

Also we write comments and clean code. Maybe we need to check it one
more time.