update gitignore
add docblock comments
add documentation