updated functions return fields per client request