stop depending on callbacks