added the basic code not yet funtional