identify bottleneck
speed up almost 10x
simulate on facebook
merge