add gitignore
add Mac OS compatibility