allow for complex checks on id