Fixes #3 by making parsing loop async