clean up directory structure and removed redundancy from constructors