diff --git a/scripts/RecTest.js b/scripts/RecTest.js
new file mode 100644
index 0000000..4090eb6
--- /dev/null
+++ b/scripts/RecTest.js
@@ -0,0 +1,126 @@
+
+/**
+ * Facade for the entire application
+ */
+rectest.RecTest = Class( 'RecTest',
+{
+ /**
+ * jQuery instance
+ * @var {jQuery}
+ */
+ 'private _jQuery': null,
+
+ /**
+ * Supported test cases
+ * @var {Object}
+ */
+ 'private _cases': {},
+
+ /**
+ * Runs test configurations
+ * @var {TestRunner}
+ */
+ 'private _runner': null,
+
+
+ __construct: function( jquery, cases )
+ {
+ this._jQuery = jquery;
+ this._cases = cases;
+ this._runner = rectest.TestRunner( jquery, rectest.TestRun );
+ },
+
+
+ 'public init': function()
+ {
+ // display js-dependent content
+ this._jQuery( '.hasjs' ).removeClass( 'hasjs' );
+
+ return this;
+ },
+
+
+ 'public listCases': function( $select )
+ {
+ for ( var preset in this._cases )
+ {
+ var data = this._cases[ preset ];
+
+ $select.append( this._jQuery( '