added localStorage interface