add the shebang and docstrings
add docstrings