updated packages, refactored some classes