public static function find($where = array(), $order = array(), $limitStart = null, $limitEnd = null)
    {
        // validate model PHP structure if necessary
        self :: _validateModel();

        // build a query helper with parameters
        $queryHelper = static::buildSelectQuery(array("*"), $where, $order, $limitStart, $limitEnd);

        // create a collection instance for called model with model datasource and custom created queryhelper
        return new Collection(static::$_dataSource, $queryHelper, get_called_class());
    }