add create func, which will be complex