updated dependencies
refactoring for callback pattern #3