spaces instead of tabs
adding gitignore so we dont see pycs
use yield instead of items and items.append