implemented design and a few functionalities