add necesary exceptions, retrofit implementation for login