Added platforms, put GUI in its own class, other fixes