changed throwing runtime in constructor, cause well that was a bad idea.