Tons of changes: really needs cleaned up a ton