add library keyboard state
coding simple structure