start of as path impl