please forward declare instead