refactored save methods
added general create method