rewrite .sampledBy()
refactoring, smart callbacks everywhere