keyboard input management
add texture support