license added and prototype funcs added to be implemented