added some basic infrastructure