streamline propagate and kernel generally a bit