added main thread guard
data source setup on main thread
updated gitignore