update wrapping/bounding logic to allow negative coords