reorganization of files and code
more coherent file structure for oop