fix #12: add a torus model