protocols fixed & build

some of the naming i made *really* weird, i'll go back over everything
later