Mike errors

Added custom error types for us to use in the backend