in the process of implementing the basic functions