Refactoring, changed renamed some files, combined some methods added a few libraries