circular dependency removed, precore in require-dev