current and root need to be instance variables