controller with spec