added keyboard coalescing