Tidy up Controller so it makes more sense