Pretty bad, but somewhat working, input handling
Merge