public void addPriceStep(double startPrice, double endPrice, double fixedPrice,
			double variablePricePercent) throws RemoteException {
		
		// trimming to 2 decimal points
		startPrice = round(startPrice);
		endPrice = round(endPrice);
		fixedPrice = round(fixedPrice);
		variablePricePercent = round(variablePricePercent);
		

		PriceStep newStep = new PriceSteps.PriceStep(startPrice, endPrice, fixedPrice, variablePricePercent);
		
		// Checking for positive arguments
		if (startPrice < 0 || endPrice < 0 || fixedPrice < 0 || variablePricePercent < 0) {
			throw new PriceStepNegativeArgumentException();
		}
		
		// check for overlapping with stored pricesteps
		for (PriceStep storedStep : priceSteps) {
			if (newStep.overlaps(storedStep)) throw new PriceStepIntervalCollisionException();
		}
		
		this.priceSteps.add(newStep);
	}