**Describe the Issue** - Return a proper error instead of panicking in the main packages - For the test files, rely on the `require` package and `testing.T` object to correctly handle assertion failure