added in_forward (not completed yet)