it works too damn slow, but added markers to show progress