support methods with up to 16 parameters