most basic functionality added n tested