initial light version without appendTo