added more tests, fixed location issue, added if predicate for require together