add add save method (impl 2)