This project has been completely redone. See my more recent post for details