impemented devise