removed returning of None values, just raising exceptions