abstract streak logic to a module