for pypy compatibility