reformatted
added support for asynchronous dependencies