finish implementation to call device server