Re-arranged a lot of stuff