removed unidempotent tests and slightly changed API