Added documentation for units behavior, and made code
reflect documentation
add more gitignore stuff