onDeviceReady added