change orientation and/or shape based on width and height