Add save (create/update) functionality