added GNU license header