fixed so // doesn't absorb newline
refactored
added ptest portable tests