relatively stable
fixed bug on add; stable