added keyboard navigation plus other bits and bobs