added explicit range traits