nitpick, would be nice to have this more organized, includes first and namespace after.