some experimental work added