Begin code reorganisation
refined file structure
refined structure