added better test program, fixed bug with hard reads having side effects, fleshed out but not test PS/2 skeleton