gitignore and liscense, used std::is_convertable