updated dependencies, code clean & update