enabled asynchronous operation, updated naming conventions to more closely match git CLI naming