Adding classes, restructuring, removing bugs