generic class created for coa