refactor cosa spec