good start on controller implementations