changed position to signed integers to help interaction with languages that do not support unsigned values, like javascript