implemented AddDevice