start of attribute selection classes implementation