type checking`
async & tests