added unrolling, but damn it actually seems to hurt performance
merge