version 1 control
version 2 distribute
version 3 GPL
understand how stage works
stupid commit