Massive refactor in progress
removed protocol provider stuff