fix to client class defaults - returning as a function to prevent the same objects to be passed around as reference