1. A method, comprising: receiving, at a computing device, a plurality of objects having a plurality of corresponding predefined attribute values; assigning, via a processor, the plurality of corresponding predefined attribute values to at least one category value; constructing, via the processor, a first category of an attribute category tree data structure based on a type of data associated with the at least one category value; assigning, via the processor, the first category to a first level of tree data, wherein the first category is an image category corresponding to a particular product and comprises a single image which defines the product associated with the first category; assigning, via the processor, at least one predefined attribute value of the plurality of attribute values to a second level of tree data; assigning, via the processor, at least one additional predefined attribute value of the plurality of attribute values to a third level of tree data; and detecting a selection of the image of the first category and in response expanding the tree under the image of the first category by displaying a plurality of dependent images, each dependent image comprising an image of the product itself physically implementing all attributes of the product as shown in the selected image and physically implementing one or more additional attribute associated with the second level of tree data, wherein each dependent image further comprises an option that is available for further search with respect to the third level of tree data; wherein the second level of tree data is beneath the first level of tree data and is reserved for category numerical data and the third level of tree data is beneath the first and second levels of tree data and is reserved for category textual data.