introduce back button, store history on back event