refactory

replace criteria, projection, action and limit with options