Update Project 4

1. Build the framework of this project
2. Add some functions(not implemented yet)