                 _b = _cleanAlpha(b).toLowerCase()
 
                 if _a < _b
-                    -1
+                    return -1
                 else if _a > _b
-                    1
+                    return 1
                 else if _a is _b
-                    0
+                    return 0
 
             _sortDesc = (a, b) ->
                 # use clean alpha to remove leading 'the' or 'a' then convert to lowercase for case insensitive sort

                    else if _hour.length is 1
                        _hour = "0#{_hour}"
                        
                    "#{_hour}:#{_minutes}"

                else if _ampm is 'pm'
                    "#{_hour + 12}:#{_minutes}"

            _sortAsc = (a, b) ->
                _a = _parseTime _patterns.time.exec(a)
                _b = _parseTime _patterns.time.exec(b)
                new Date("04-22-2014 #{_a}") - new Date("04-22-2014 #{_b}")

            _sortDesc = (a, b) ->
                _a = _parseTime _patterns.time.exec(a)
                _b = _parseTime _patterns.time.exec(b)
                new Date("04-22-2014 #{_b}") - new Date("04-22-2014 #{_a}")

            if direction is 'ascending' then values.sort _sortAsc else values.sort _sortDesc


            types = []

            _isDate = (value) ->
                return if _patterns.monthDayYear.test(value) then true else false

            _isNumber = (value) ->
                return if _patterns.number.test(value) then true else false

            _isAlpha = (value) ->
                return if _patterns.alpha.test(value) then true else false

            _isTime = (value) ->
                return if _patterns.time.test(value) then true else false

            $.each values, ->
                if _isDate.call self, @
