massive restructure: put all classes into different packages