added redone but unfinished  device