move update and keyboard into rxof