refactory parameter