a lot of changes
probably stuff I should ignore, mode changes