start of path implementation