use `^` for deps