missing return elems; notes
add isOriginLeft, isOriginTop

for layouts that originate at different corners