Added help and preconditions testing for user-friendliness.