added ability to send between 1 and 4 positional properties to position functions