fixed the classes and placed all of them in a separate sub-project