refactor business controller