Adds 'Factory' pattern. Also creates license file