a quick first pass
change designa and play w/ extends