improve pass arguments