refactor with underscore