mv to main, refactor