made callbacks trigger once & added offset