refactored the entire module: +exception handling +custom HTTP Error Codes +helper func to validate an ASN