refactor to track changes in protean core