PHASE 3 - added calls to Preconditions.checkArgument for adding assertions on phase 3