add messages module, clean up documentation