supporting multiple k&v pairs
supporting empty arrays
supporting arrays with single value
supporting arrays with single value - now the value may also be a string
supporting empty object as a value
added complex acceptance tests - finish the ex