Project 5 finished Pull request

As I finished all the required features and implement one extra, I think I can get 100.