updated to use peerDependencies