a lot of speed improvement
updated path