Experimental functionality branch

Work completed, pls merge into master