implementation changes because of group_hiearchy and field level options