added amalgamation header