only allow async methods