cleanup
properly cleanup event listener
fix settings
mergeconflict