first semi-working version with keyboard support