Add header and description field
Re-order some of the code and fix docstring