added setof keyword and record type