refactored new controller style