uses classes, not siblings so its actually more flexible