Adding async support, changing exec dependency to be more cross platform friendly