creating all the crud functionalities