clean up hard tabs
Add some documentation