track mode and state
add step conversion