skeleton of controller