refactor followings controlelr