restructure source tree: re-introduce backends but now for different purpose