Add traverse and other helper methods