forward declare issues