PC completed; not thoroughly tested