change package, update pom.xml and a mega refactor