refactor walker to not use the api module