tons of updates

cleaned up tons of code, refactored, changed some ownership