diff --git a/ql/collection.go b/ql/collection.go
index fa5f25929636d0427dbec188f0ed6a7739ed27da..5e37d72f67cd745ec84e6a474a9610511f7edf55 100644
--- a/ql/collection.go
+++ b/ql/collection.go
@@ -33,10 +33,10 @@ import (
 
 const defaultOperator = `==`
 
-type Table struct {
+type table struct {
 	sqlutil.T
 	columnTypes map[string]reflect.Kind
-	source      *Source
+	source      *source
 	names       []string
 }
 
@@ -174,10 +174,10 @@ func conditionValues(cond db.Cond) (columnValues sqlgen.ColumnValues, args []int
 	return columnValues, args
 }
 
-func (self *Table) Find(terms ...interface{}) db.Result {
+func (self *table) Find(terms ...interface{}) db.Result {
 	where, arguments := whereValues(terms)
 
-	result := &Result{
+	result := &result{
 		table:     self,
 		where:     where,
 		arguments: arguments,
@@ -186,7 +186,7 @@ func (self *Table) Find(terms ...interface{}) db.Result {
 	return result
 }
 
-func (self *Table) tableN(i int) string {
+func (self *table) tableN(i int) string {
 	if len(self.names) > i {
 		chunks := strings.SplitN(self.names[i], " ", 2)
 		if len(chunks) > 0 {
@@ -197,7 +197,7 @@ func (self *Table) tableN(i int) string {
 }
 
 // Deletes all the rows within the collection.
-func (self *Table) Truncate() error {
+func (self *table) Truncate() error {
 
 	_, err := self.source.doExec(sqlgen.Statement{
 		Type:  sqlgen.SqlTruncate,
@@ -212,7 +212,7 @@ func (self *Table) Truncate() error {
 }
 
 // Appends an item (map or struct) into the collection.
-func (self *Table) Append(item interface{}) (interface{}, error) {
+func (self *table) Append(item interface{}) (interface{}, error) {
 
 	cols, vals, err := self.FieldValues(item, toInternal)
 
@@ -250,14 +250,14 @@ func (self *Table) Append(item interface{}) (interface{}, error) {
 }
 
 // Returns true if the collection exists.
-func (self *Table) Exists() bool {
+func (self *table) Exists() bool {
 	if err := self.source.tableExists(self.names...); err != nil {
 		return false
 	}
 	return true
 }
 
-func (self *Table) Name() string {
+func (self *table) Name() string {
 	return strings.Join(self.names, `, `)
 }
 
diff --git a/ql/database.go b/ql/database.go
index b2e2f36b7ae5efd34a75c1da2990b984af54aa9d..27e7da7d7b995407a82d2cd893948c6a4cc97c56 100644
--- a/ql/database.go
+++ b/ql/database.go
@@ -52,7 +52,7 @@ var (
 	sqlPlaceholder = sqlgen.Value{sqlgen.Raw{`?`}}
 )
 
-type Source struct {
+type source struct {
 	config      db.Settings
 	session     *sql.DB
 	collections map[string]db.Collection
@@ -110,10 +110,10 @@ func init() {
 		qlSelectCountLayout,
 	}
 
-	db.Register(Adapter, &Source{})
+	db.Register(Adapter, &source{})
 }
 
-func (self *Source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Result, error) {
+func (self *source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Result, error) {
 
 	var query string
 	var res sql.Result
@@ -155,7 +155,7 @@ func (self *Source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Resu
 	return res, err
 }
 
-func (self *Source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Rows, error) {
+func (self *source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Rows, error) {
 	var rows *sql.Rows
 	var query string
 	var err error
@@ -196,7 +196,7 @@ func (self *Source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Ro
 	return rows, err
 }
 
-func (self *Source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql.Row, error) {
+func (self *source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql.Row, error) {
 	var query string
 	var row *sql.Row
 	var err error
@@ -238,18 +238,18 @@ func (self *Source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql
 }
 
 // Returns the string name of the database.
-func (self *Source) Name() string {
+func (self *source) Name() string {
 	return self.config.Database
 }
 
 //  Ping verifies a connection to the database is still alive,
 //  establishing a connection if necessary.
-func (self *Source) Ping() error {
+func (self *source) Ping() error {
 	return self.session.Ping()
 }
 
-func (self *Source) clone() (*Source, error) {
-	src := &Source{}
+func (self *source) clone() (*source, error) {
+	src := &source{}
 	src.Setup(self.config)
 
 	if err := src.Open(); err != nil {
@@ -259,16 +259,16 @@ func (self *Source) clone() (*Source, error) {
 	return src, nil
 }
 
-func (self *Source) Clone() (db.Database, error) {
+func (self *source) Clone() (db.Database, error) {
 	return self.clone()
 }
 
-func (self *Source) Transaction() (db.Tx, error) {
+func (self *source) Transaction() (db.Tx, error) {
 	// We still have some issues with QL, transactions and blocking.
 	return nil, db.ErrUnsupported
 	/*
 		var err error
-		var clone *Source
+		var clone *source
 		var sqlTx *sql.Tx
 
 		if clone, err = self.clone(); err != nil {
@@ -288,19 +288,19 @@ func (self *Source) Transaction() (db.Tx, error) {
 }
 
 // Stores database settings.
-func (self *Source) Setup(config db.Settings) error {
+func (self *source) Setup(config db.Settings) error {
 	self.config = config
 	self.collections = make(map[string]db.Collection)
 	return self.Open()
 }
 
 // Returns the underlying *sql.DB instance.
-func (self *Source) Driver() interface{} {
+func (self *source) Driver() interface{} {
 	return self.session
 }
 
 // Attempts to connect to a database using the stored settings.
-func (self *Source) Open() error {
+func (self *source) Open() error {
 	var err error
 
 	if self.config.Database == "" {
@@ -317,7 +317,7 @@ func (self *Source) Open() error {
 }
 
 // Closes the current database session.
-func (self *Source) Close() error {
+func (self *source) Close() error {
 	if self.session != nil {
 		return self.session.Close()
 	}
@@ -325,13 +325,13 @@ func (self *Source) Close() error {
 }
 
 // Changes the active database.
-func (self *Source) Use(database string) error {
+func (self *source) Use(database string) error {
 	self.config.Database = database
 	return self.Open()
 }
 
 // Drops the currently active database.
-func (self *Source) Drop() error {
+func (self *source) Drop() error {
 
 	_, err := self.doQuery(sqlgen.Statement{
 		Type:     sqlgen.SqlDropDatabase,
@@ -342,7 +342,7 @@ func (self *Source) Drop() error {
 }
 
 // Returns a list of all tables within the currently active database.
-func (self *Source) Collections() ([]string, error) {
+func (self *source) Collections() ([]string, error) {
 	var collections []string
 	var collection string
 
@@ -368,7 +368,7 @@ func (self *Source) Collections() ([]string, error) {
 	return collections, nil
 }
 
-func (self *Source) tableExists(names ...string) error {
+func (self *source) tableExists(names ...string) error {
 	for _, name := range names {
 
 		rows, err := self.doQuery(sqlgen.Statement{
@@ -397,13 +397,13 @@ func (self *Source) tableExists(names ...string) error {
 }
 
 // Returns a collection instance by name.
-func (self *Source) Collection(names ...string) (db.Collection, error) {
+func (self *source) Collection(names ...string) (db.Collection, error) {
 
 	if len(names) == 0 {
 		return nil, db.ErrMissingCollectionName
 	}
 
-	col := &Table{
+	col := &table{
 		source: self,
 		names:  names,
 	}
diff --git a/ql/result.go b/ql/result.go
index af437661f81a96ddeeb5e450f02f31c5d9a6cc30..7d78a11f1d8c4114798c763357413cd70b69d05f 100644
--- a/ql/result.go
+++ b/ql/result.go
@@ -35,8 +35,8 @@ type counter_t struct {
 	Total uint64 `db:"total"`
 }
 
-type Result struct {
-	table     *Table
+type result struct {
+	table     *table
 	cursor    *sql.Rows // This is the main query cursor. It starts as a nil value.
 	limit     sqlgen.Limit
 	offset    sqlgen.Offset
@@ -47,7 +47,7 @@ type Result struct {
 }
 
 // Executes a SELECT statement that can feed Next(), All() or One().
-func (self *Result) setCursor() error {
+func (self *result) setCursor() error {
 	var err error
 	// We need a cursor, if the cursor does not exists yet then we create one.
 	if self.cursor == nil {
@@ -64,20 +64,20 @@ func (self *Result) setCursor() error {
 }
 
 // Sets conditions for reducing the working set.
-func (self *Result) Where(terms ...interface{}) db.Result {
+func (self *result) Where(terms ...interface{}) db.Result {
 	self.where, self.arguments = whereValues(terms)
 	return self
 }
 
 // Determines the maximum limit of results to be returned.
-func (self *Result) Limit(n uint) db.Result {
+func (self *result) Limit(n uint) db.Result {
 	self.limit = sqlgen.Limit(n)
 	return self
 }
 
 // Determines how many documents will be skipped before starting to grab
 // results.
-func (self *Result) Skip(n uint) db.Result {
+func (self *result) Skip(n uint) db.Result {
 	self.offset = sqlgen.Offset(n)
 	return self
 }
@@ -85,7 +85,7 @@ func (self *Result) Skip(n uint) db.Result {
 // Determines sorting of results according to the provided names. Fields may be
 // prefixed by - (minus) which means descending order, ascending order would be
 // used otherwise.
-func (self *Result) Sort(fields ...string) db.Result {
+func (self *result) Sort(fields ...string) db.Result {
 
 	sortColumns := make(sqlgen.SortColumns, 0, len(fields))
 
@@ -115,7 +115,7 @@ func (self *Result) Sort(fields ...string) db.Result {
 }
 
 // Retrieves only the given fields.
-func (self *Result) Select(fields ...interface{}) db.Result {
+func (self *result) Select(fields ...interface{}) db.Result {
 	self.columns = make(sqlgen.Columns, 0, len(fields))
 
 	l := len(fields)
@@ -132,7 +132,7 @@ func (self *Result) Select(fields ...interface{}) db.Result {
 }
 
 // Dumps all results into a pointer to an slice of structs or maps.
-func (self *Result) All(dst interface{}) error {
+func (self *result) All(dst interface{}) error {
 	var err error
 
 	if self.cursor != nil {
@@ -155,7 +155,7 @@ func (self *Result) All(dst interface{}) error {
 }
 
 // Fetches only one result from the resultset.
-func (self *Result) One(dst interface{}) error {
+func (self *result) One(dst interface{}) error {
 	var err error
 
 	if self.cursor != nil {
@@ -170,7 +170,7 @@ func (self *Result) One(dst interface{}) error {
 }
 
 // Fetches the next result from the resultset.
-func (self *Result) Next(dst interface{}) error {
+func (self *result) Next(dst interface{}) error {
 
 	var err error
 
@@ -192,7 +192,7 @@ func (self *Result) Next(dst interface{}) error {
 }
 
 // Removes the matching items from the collection.
-func (self *Result) Remove() error {
+func (self *result) Remove() error {
 	var err error
 	_, err = self.table.source.doExec(sqlgen.Statement{
 		Type:  sqlgen.SqlDelete,
@@ -205,7 +205,7 @@ func (self *Result) Remove() error {
 
 // Updates matching items from the collection with values of the given map or
 // struct.
-func (self *Result) Update(values interface{}) error {
+func (self *result) Update(values interface{}) error {
 
 	ff, vv, err := self.table.FieldValues(values, toInternal)
 
@@ -230,7 +230,7 @@ func (self *Result) Update(values interface{}) error {
 }
 
 // Closes the result set.
-func (self *Result) Close() error {
+func (self *result) Close() error {
 	var err error
 	if self.cursor != nil {
 		err = self.cursor.Close()
@@ -240,7 +240,7 @@ func (self *Result) Close() error {
 }
 
 // Counts matching elements.
-func (self *Result) Count() (uint64, error) {
+func (self *result) Count() (uint64, error) {
 
 	rows, err := self.table.source.doQuery(sqlgen.Statement{
 		Type:   sqlgen.SqlSelectCount,
diff --git a/ql/tx.go b/ql/tx.go
index 3c6b5bedcde5f7c28ca80ff616ee3e9ce627852a..7237d2ecf997ad6d42553a6718a037f629114da7 100644
--- a/ql/tx.go
+++ b/ql/tx.go
@@ -21,14 +21,14 @@
 
 package ql
 
-type Tx struct {
-	*Source
+type tx struct {
+	*source
 }
 
-func (self *Tx) Commit() error {
-	return self.Source.tx.Commit()
+func (self *tx) Commit() error {
+	return self.source.tx.Commit()
 }
 
-func (self *Tx) Rollback() error {
-	return self.Source.tx.Rollback()
+func (self *tx) Rollback() error {
+	return self.source.tx.Rollback()
 }
diff --git a/ql/util.go b/ql/util.go
index f567757450d775049d5aa7eeb69cf8525bdf77fe..6d54f46eef0b40260236ccf2813518999ef7e7e5 100644
--- a/ql/util.go
+++ b/ql/util.go
@@ -41,14 +41,14 @@ func getRowColumns(rows *sql.Rows) ([]string, error) {
 	}
 
 	// Column names to lower case.
-	for i, _ := range columns {
+	for i := range columns {
 		columns[i] = strings.ToLower(columns[i])
 	}
 
 	return columns, nil
 }
 
-func (self *Table) fetchRow(rows *sql.Rows, dst interface{}) error {
+func (self *table) fetchRow(rows *sql.Rows, dst interface{}) error {
 	var err error
 
 	dstv := reflect.ValueOf(dst)
@@ -85,7 +85,7 @@ func (self *Table) fetchRow(rows *sql.Rows, dst interface{}) error {
 	return nil
 }
 
-func (self *Table) fetchResult(item_t reflect.Type, rows *sql.Rows, columns []string) (item reflect.Value, err error) {
+func (self *table) fetchResult(item_t reflect.Type, rows *sql.Rows, columns []string) (item reflect.Value, err error) {
 	expecting := len(columns)
 
 	scanArgs := make([]interface{}, expecting)
@@ -113,7 +113,7 @@ func (self *Table) fetchResult(item_t reflect.Type, rows *sql.Rows, columns []st
 		}
 	case reflect.Map:
 		values := make([]*sql.RawBytes, len(columns))
-		for i, _ := range columns {
+		for i := range columns {
 			scanArgs[i] = &values[i]
 		}
 		err = rows.Scan(scanArgs...)
@@ -146,7 +146,7 @@ func (self *Table) fetchResult(item_t reflect.Type, rows *sql.Rows, columns []st
 	return item, nil
 }
 
-func (self *Table) fetchRows(rows *sql.Rows, dst interface{}) error {
+func (self *table) fetchRows(rows *sql.Rows, dst interface{}) error {
 	var err error
 
 	// Destination.