modified constructors to have both message and exception as parameters