added shared preferences interface