use macros for generating vboxes and hboxes