changed straight? to use ->>
refine rank->integer