use only one pointer for shared layout