add comments
orgainize
split files, functions live on their own