add ability to add negative offsets
up version