restructuring and cleanup
add .gitignore based on ikoniaris' pull request #135