added tests and fixed a bug in pushall