add spinlock
add gitignore