controller spec and impl