added gitignore and forward declaration