generalizate and add pull request