add distributed
append GPL
understand how stage works