general device works finally