need to add string deep compare