cleaned up code and eval now compares on structure