why do you need this? all the other forward declarations?