changes to controllers and structure