modularize into packages, add p26 (reciprocal cycles)