making shiv protocol agnostic and removing type kit