added color and finished keyboard interaction