start subroute impl; add shape