added checkArgument to precondition checks
added passengers and precondition checks