New style

This should be good to go. There's still a few things I'd like to tweak but I'll add those as separate issues.