Part5

Just made some refactoring.