new controller
controller future and pattern matching