Refactor, move, update, and polish