New source structure from scratch