more refactoring, added discount field. sync with session storage