completed custom DS for localStorage