ADD: use localStorage to persist preferences accross reloads