escape key handled
merge fix + refactor
merge fix + refactor