Fix indentation
Fix indentation and re-arrange provides
Refactor and add purpose statements