module and main function documention