add license buy function