shapes modified to work with records