finalized contoller