move volume and kbd functionality into separate modules