controller with support for mandatory fields