what is repository? Why is Github so complicated?