added stuff to design, implementation