massive project refactor