changed protocol for defining offsets, using params