I bored some stuff from PyPrp2....only the sane parts!