Rearaged some functions in hal.el and updated the README.