public boolean spacesAvailable(Vehicle v) {
		int bikes = 0;
		int sCars = 0;
		// determine num of motorcycles in small car spaces
		if(numMotorCycles > maxMotorCycleSpaces){
			bikes = numMotorCycles - maxMotorCycleSpaces;
		}
		// determine num small cars in general car space
		if(numSmallCars > (maxSmallCarSpaces - bikes)){
			sCars = numSmallCars - (maxSmallCarSpaces - bikes);
		}
		
		// determine if space available 
		if(v instanceof Car){
			
			if(((Car) v).isSmall()){
				
				if(numSmallCars < (maxSmallCarSpaces - bikes)){
					return true;
				}					
				else if(sCars < (maxCarSpaces - maxSmallCarSpaces - Cars.size())){
					return true;
				}
				else{
					return false;
				}
				
			}else{
				
				if(sCars < (maxCarSpaces - maxSmallCarSpaces - Cars.size())){
					return true;
				}
				else{
					return false;
				}
				
			}
			
		}
		else{
			if(numMotorCycles < maxMotorCycleSpaces){
				return true;
			}
			else if(numSmallCars < (maxSmallCarSpaces - bikes)){
				return true;
			}
		}
		
		return false;
		
		
	}