fix main
add gitignore
refactor