Fix #10: Fix and enhance input widget