added query() in persistence interface