added skeletal Device class to public API