virtual device settings almost functional, still have to work on some corner cases