separate the player class to new file. finish all the structure work. some bugs to debug