Major package refactor