implemented keyboard extensions