Some intial device work, not fully implemented yet