need forward decl of object