local storage saving is hacky but kind of works