improve navigation

avoid fragment from being added to backstack more than once in a row