I tried to use at best no external dependency.. to avoid potential dependency collisions if anyone is using this library. So we must be careful if we add new stuff to the project.