first pass at a rank module