forward returns final linear output separately