path hierarchy stuff