(not working) partial port of LiquidCrystal.cpp