design and implementation spec