Gigantic interface overhaul

And by gigantic I mean gigantic.