implemented _restore endpoint
Merge branch 'master' into restore

Conflicts:
	CHANGES.txt
correct handling for empty source
organized some imports