adding navigation setup, isUnique filter, and changing argument orders to allow more useful binding