added keyboard.js for easier binding