Add gitignore and vendor libs
style + main impl