massive refactor
deletions