revise device return format