handle nonstandard protocols