added p18.clj