Refactor chained_path(), add chained_path_items() and chained_path_points()