semi-complete notes for design of library