layouts: attempt consolidation of vertical and horizontal engines
layout: finish common implementation