refactor the classes into multiple files, beat the wizard