maintain abstraction using heightOf / widthOf