MAJOR refgactoring of project layout