refactore all src + add license