override save method