implemented first() and save() along with tests