optimize arguements