correspondence between shapes and layouts
added TODO in Shape