remove redundant step() function, add ARE port, implement is_free symbol

And some clean up.