added first draft for a common device api refs #6