modify p to try guessing with z if z is available
seperate out the p function to it's own file
make projects dir in p method configurable