much faster version to prob 40