add forward declarations
minor issue
merge