Add save method along with some other helper methods