implemented all the different crud apis