refactor move stuff to new package