adding ability to use exceptions. requiring placeholder attribuet to be present ot prevent undefined