feed forward is working, but actually going to refactor a considerable amount