finished most of the design work for the new implementation