clean in p18, and did p25 in ruby