refactoring, added package installer, updated readme and tests