#3 Refactor code rename some classes