diff --git a/src/declarative/qml/v8/qjsengine.h b/src/declarative/qml/v8/qjsengine.h
index 09e055f..31ce298 100644
--- a/src/declarative/qml/v8/qjsengine.h
+++ b/src/declarative/qml/v8/qjsengine.h
@@ -54,10 +54,10 @@ public:
     enum ContextOwnership {
         AdoptCurrentContext,
         CreateNewContext
-    };
+    }; // remove make private for webkit
 
-    QJSEngine();
-    explicit QJSEngine(ContextOwnership ownership);
+    QJSEngine(); // merge with 3rd ctor
+    explicit QJSEngine(ContextOwnership ownership); // remove make private for webkit
     explicit QJSEngine(QObject *parent);
     virtual ~QJSEngine();
 
@@ -65,24 +65,24 @@ public:
 
     QJSValue evaluate(const QString &program, const QString &fileName = QString(), int lineNumber = 1);
 
-    bool hasUncaughtException() const;
-    QJSValue uncaughtException() const;
-    void clearExceptions();
+    bool hasUncaughtException() const; // remove
+    QJSValue uncaughtException() const; // remove
+    void clearExceptions(); //remove
 
-    QJSValue nullValue();
-    QJSValue undefinedValue();
+    QJSValue nullValue(); //remove
+    QJSValue undefinedValue(); //remove
 
-    QJSValue newVariant(const QVariant &value);
+    QJSValue newVariant(const QVariant &value); //remove
 
-    QJSValue newRegExp(const QRegExp &regexp);
+    QJSValue newRegExp(const QRegExp &regexp); // remove
 
     QJSValue newObject();
     QJSValue newArray(uint length = 0);
-    QJSValue newRegExp(const QString &pattern, const QString &flags);
-    QJSValue newDate(double value);
-    QJSValue newDate(const QDateTime &value);
+    QJSValue newRegExp(const QString &pattern, const QString &flags); // remove
+    QJSValue newDate(double value); // remove
+    QJSValue newDate(const QDateTime &value); //remove
 
-    QJSValue newQObject(QObject *object);
+    QJSValue newQObject(QObject *object); //remove and move setObjectOwnership here
 
     template <typename T>
     inline QJSValue toScriptValue(const T &value)
@@ -95,16 +95,18 @@ public:
         return qjsvalue_cast<T>(value);
     }
 
-    void collectGarbage();
+    void collectGarbage(); //remove copy from QDeclarativeEngine
 
-    QJSValue toObject(const QJSValue &value);
+    QJSValue toObject(const QJSValue &value); // remove
 
-    QV8Engine *handle() const { return d; }
+    QV8Engine *handle() const { return d; } // internal
 
 Q_SIGNALS:
-    void signalHandlerException(const QJSValue &exception);
+    void signalHandlerException(const QJSValue &exception); // remove at least for now
 
 private:
+    // cleanup
+
     QJSValue create(int type, const void *ptr);
 
     static bool convertV2(const QJSValue &value, int type, void *ptr);
diff --git a/src/declarative/qml/v8/qjsvalue.h b/src/declarative/qml/v8/qjsvalue.h
index c75bd3f..17ff65c 100644
--- a/src/declarative/qml/v8/qjsvalue.h
+++ b/src/declarative/qml/v8/qjsvalue.h
@@ -53,7 +53,7 @@ template <class T> class QScriptPassPointer;
 class Q_DECLARATIVE_EXPORT QJSValue
 {
 public:
-    enum PropertyFlag {
+    enum PropertyFlag { //remove
         ReadOnly            = 0x00000001,
         Undeletable         = 0x00000002,
         SkipInEnumeration   = 0x00000004
@@ -66,17 +66,17 @@ public:
     };
 
 public:
-    QJSValue();
+    QJSValue(); // remove
     ~QJSValue();
     QJSValue(const QJSValue &other);
-    QJSValue(QJSEngine *engine, SpecialValue val);
-    QJSValue(QJSEngine *engine, bool val);
-    QJSValue(QJSEngine *engine, int val);
-    QJSValue(QJSEngine *engine, uint val);
-    QJSValue(QJSEngine *engine, double val);
-    QJSValue(QJSEngine *engine, const QString &val);
-
-    QJSValue(SpecialValue value);
+    QJSValue(QJSEngine *engine, SpecialValue val); //remove
+    QJSValue(QJSEngine *engine, bool val); //remove
+    QJSValue(QJSEngine *engine, int val);//remove
+    QJSValue(QJSEngine *engine, uint val);//remove
+    QJSValue(QJSEngine *engine, double val);//remove
+    QJSValue(QJSEngine *engine, const QString &val);//remove
+
+    QJSValue(SpecialValue value = UndefinedValue); // change
     QJSValue(bool value);
     QJSValue(int value);
     QJSValue(uint value);
@@ -89,36 +89,36 @@ public:
 
     QJSValue &operator=(const QJSValue &other);
 
-    QJSEngine *engine() const;
-    bool isValid() const;
+    QJSEngine *engine() const; // remove
+    bool isValid() const; // remove
     bool isBool() const;
     bool isNumber() const;
-    bool isFunction() const;
+    bool isFunction() const; // rename to isCallable
     bool isNull() const;
     bool isString() const;
     bool isUndefined() const;
-    bool isVariant() const;
+    bool isVariant() const; // remove
     bool isQObject() const;
     bool isObject() const;
     bool isDate() const;
-    bool isRegExp() const;
+    bool isRegExp() const; // remove
     bool isArray() const;
     bool isError() const;
 
     QString toString() const;
     double toNumber() const;
     bool toBool() const;
-    double toInteger() const;
-    qint32 toInt32() const;
-    quint32 toUInt32() const;
-    quint16 toUInt16() const;
+    double toInteger() const; // remove
+    qint32 toInt32() const; // change to => int toInt() const;
+    quint32 toUInt32() const; //
+    quint16 toUInt16() const; // remove
     QVariant toVariant() const;
     QObject *toQObject() const;
-    QJSValue toObject() const;
+    QJSValue toObject() const; // remove
     QDateTime toDateTime() const;
-    QRegExp toRegExp() const;
+    QRegExp toRegExp() const; // remove
 
-    bool instanceOf(const QJSValue &other) const;
+    bool instanceOf(const QJSValue &other) const; // remove
 
     bool equals(const QJSValue &other) const;
     bool strictlyEquals(const QJSValue &other) const;
@@ -127,20 +127,28 @@ public:
     void setPrototype(const QJSValue &prototype);
 
     QJSValue property(const QString &name) const;
-    void setProperty(const QString &name, const QJSValue &value);
+    void setProperty(const QString &name, const QJSValue &value); // add bool removeProperty(const QString& name);
 
     QJSValue property(quint32 arrayIndex) const;
     void setProperty(quint32 arrayIndex, const QJSValue &value);
 
-    QJSValue::PropertyFlags propertyFlags(const QString &name) const;
+    QJSValue::PropertyFlags propertyFlags(const QString &name) const; // remove
 
     QJSValue call(const QJSValue &thisObject = QJSValue(),
-                      const QJSValueList &args = QJSValueList());
-    QJSValue construct(const QJSValueList &args = QJSValueList());
+                      const QJSValueList &args = QJSValueList()); // replace with:
+    QJSValue call();
+    QJSValue call(const QJSValueList &args);
+    QJSValue callWithReceiver(const QJSValue &receiver);
+    QJSValue callWithReceiver(const QJSValue &receiver, const QJSValueList &args);
+
+    QJSValue construct(const QJSValueList &args = QJSValueList()); // replace with:
+    QJSValue callAsConstructor(const QJSValueList &args = QJSValueList());
 
 private:
     // force compile error, prevent QJSValue(bool) to be called
     QJSValue(void *);
+
+    // remove 3 lines:
     // force compile error, prevent QJSValue(QScriptEngine*, bool) to be called
     QJSValue(QJSEngine *, void *);
     QJSValue(QJSEngine *, const char *);
@@ -154,7 +162,7 @@ private:
     Q_DECLARE_PRIVATE(QJSValue)
 };
 
-Q_DECLARE_OPERATORS_FOR_FLAGS(QJSValue::PropertyFlags)
+Q_DECLARE_OPERATORS_FOR_FLAGS(QJSValue::PropertyFlags) // remove
 
 QT_END_NAMESPACE
 
