How does GitHub work?