added device parsing