nested objects with functions and arrays commented