 		}
 
         /**
-         * PURCHASE_ERROR
-         * PURCHASE_ERROR
-         * @param productId
-         */
-		public function makeSubscription(productId:String):void {
-
-			if (Capabilities.manufacturer.indexOf('Android') > -1) {
-
-				trace("[InAppPurchase] check user can make a subscription");
-				_context.call("makeSubscription", productId);
-			}
-            else {
-                _dispatchEvent(InAppPurchaseEvent.PURCHASE_ERROR, "subscriptions not supported");
-			}
-		}
-
-        /**
          * RESTORE_INFO_RECEIVED
+         * RESTORE_INFO_ERROR
          */
 		public function restoreTransactions():void {
 
-			if (Capabilities.manufacturer.indexOf('Android') > -1)
+			if (_isAndroid())
 				_context.call("restoreTransaction");
-			else if (Capabilities.manufacturer.indexOf("iOS") > -1) {
+			else if (_isIOS()) {
 
 				var jsonPurchases:String = "[" + _iosPendingPurchases.join(",") + "]";
 				var jsonData:String = "{ \"purchases\": " + jsonPurchases + "}";


        private static var _instance:InAppPurchase = null;

        /**
         *
         * @param lock
         */
		public function InAppPurchase(lock:SingletonLock) {

            if (!isSupported)

            trace("[InAppPurchase] purchasing", productId);
            _context.call("makePurchase", productId);
		}

        /**
         * PURCHASE_SUCCESSFUL
         * PURCHASE_ERROR
         * @param productId
         */
        public function makeSubscription(productId:String):void {

            if (_isAndroid()) {

                trace("[InAppPurchase] check user can make a subscription");
                _context.call("makeSubscription", productId);
            }
            else {
                _dispatchEvent(InAppPurchaseEvent.PURCHASE_ERROR, "subscriptions not supported");
            }
        }
		
        /**
         * CONSUME_SUCCESSFUL
         * CONSUME_ERROR
         * @param productId
         * @param receipt
         */
