                 that.css
                     'top': 0
                     'left': 0
-                    'position': 'relative'                    
+                    'position': 'relative'
 
-            that.fadeIn 1000            
+            that.show()
 
-        self.resizeGrid items
+        _resizeHolder items
 
     filterListItems: (filter) =>
-        self = @
-        self.grid.empty()
+        # filter images by tag
+        filter = if window.location.hash then filter else 'all'
+        window.location.hash = filter
 
-        if filter is 'all'
-            $.each self.items, (key, value) ->
-                that = $ value
-                that.appendTo(self.grid).hide()
+        if filter in @tags or filter is 'all'
+            filteredItems = if filter is 'all' then @items else @items.has "ul.caption-tags li:containsNC(#{filter})"
+            @addListItems filteredItems
         else
-            $.each self.items, (key, value) ->
-                that = $ value
-                tagList = that.find 'ul.caption-tags'
-
-                hasTag = if tagList.has("li:containsNC(#{filter})").length isnt 0 then true else false
-
-                if hasTag then that.appendTo(self.grid).hide()
-
-        self.positionListItems()
+            $('<p></p>',
+                text: 'no items match').appendTo @grid
+        
 
 new DrmFlexibleGrid()

            that.height(imageHeight).hide()

    resizeGrid: (items) =>
        self = @
        tallestColumn = 0
        columnHeights = []

        i = 0
        until i is self.imagesPerRow 
            columnHeights.push 0
            i = i + 1
        
        $.each items, (key, value) ->
            that = $ value
            columnNum = that.data 'column'
            height = that.outerHeight true

            columnHeights[columnNum] += height

        $.each columnHeights, (key, value) ->
            if value > tallestColumn
                tallestColumn = value
                tallestColumn

        self.grid.css 'height': tallestColumn + 40

    positionListItems: =>
        self = @
        items = self.grid.find '.drm-grid-item'

        $.each items, (key, value) ->
            that = $ value

        self = @
        self.grid = $ ".#{self.gridClass}"
        self.gridNav = $ '.drm-grid-nav'
        self.items = self.grid.find('.drm-grid-item').hide()
        hash = window.location.hash

        $(window).load ->
            self.tags = self.getTags()
            filter = if hash then hash.replace /^#/, '' else null
            self.addFilterButtons self.tags
            self.filterListItems filter

            if filter
                activeButton = $("button.drm-grid-filter[data-filter=#{filter}]")
                activeButton.siblings('button').removeClass 'active'
                activeButton.addClass 'active'

        if self.flex
            $(window).resize ->
                items = self.grid.find '.drm-grid-item'
                self.positionListItems items
                self.resizeCurtain()

        $(window).load self.resizeCurtain
