added device control lib