this didn't work out, it is slower