added feature extration and validator, untested