refactored mostly everything in the package tree
added some files