adding precondition/postconditions for backing up, etc.
minor update
experiment in ruby version