adding in custom implementation of offset