forward-declare instead of #include