instead of just a boolean, return an object with a boolean and an errors array
support scoped package names