implemented design - raw version