refactored files. added unlistenTo