Add documentation on how to write modules