updates following peepcode part 1