optimized
added gitignore