added custome xception class for easier try/catching