Added some of the preconditions