feat: revamp the main module API. still WIP.
feat: simplify the module overall signature. change UMD definition