added license and def header