added get function and exceptions for mishandled datum