some bug fixed; local storage;