Add create and update functionality