Added an exception giving more explanation
Initial working prototype