relatively stable implementation