speed dramatically improved but still too slow

will look into making this an optional feature