refactoring smear to use effect, in progress