changed exception constructor to accept information, added status type to enum