First pass at a controller