exporting an object instead of a function so it would be more tied to your documentation, and adding a promisse/callback feature - If there is a callback it will be notified if not we return a promise