def render_layout_form(form, layout=None, **kwargs):
	"""Render an entire form with Semantic UI wrappers for each field with
	a layout provided in the template or in the form class
	
	Args:
		form (form): Django Form
		layout (tuple): layout design
		kwargs (dict): other attributes will be passed to fields
	
	Returns:
		string: HTML of Django Form fields with Semantic UI wrappers
	"""
	def make_component(type_, *args):
		"""Loop through tuples to make field wrappers for fields.
		"""
		if type_ == "Text":
			return "".join(args)

		elif type_ == "Field":
			result = ""
			for c in args:
				if isinstance(c, tuple):
					result += make_component(*c)
				elif isinstance(c, str):
					result += render_field(form.__getitem__(c), **kwargs)
			return result
		else:
			if len(args) < 2:
				return ""

			result = "".join([make_component(*c) for c in args])
			if type_:
				return "<div class=\"%s\">%s</div>" % (type_.lower(), result)
			else:
				return result 

	return mark_safe("".join([make_component(*component) for component in layout]))