updated route controller pattern