test
too slow implementation