make HTTPMessage abstract