Add new exceptions and error codes
More robust signup call