use front-advance instead of hooks