Just added
Split into own file
Make mode its own class