add some infrastructure