refactor to be synchronous

given that file io is local and fast, using async methods was overkill. also we'd like to expect the results of validate.all to come back in order.