Reimplement smartwalk without events