Commit in-progress source code. Still requires external library "TouchScreen"