add support for pointer arithmetic