start implementing basic path functions