first pass at design