added DeviceTask, removed CommandUtil