added changes from the refactoring branch and removed unnecessary files