added virtual keyboard