found this implementation is not fast at all