controllers refactoried partially
controllers refactoried