Rearranged code into appropriate directories
Added _async functions