basic data structure. a bit of logic for dynamic category adding
basic data structure. a bit of logic for dynamic category adding again