Updated to add virtual keyboard