allow use different types of arguments in any position