refactor protean.spec