add tests and ability for joins to take multiple conditions