callback with extra offset and fp args