add more arguments support