add .idea to .gitignore and make include <memory> for std::unique_ptr