adding the rest
changed package name
finalized refactor