adding more rank functionality with user set ranking functions