Change interfaces to use List instead of arrays
Add blacklist preprocessor; reenable Perceptron for release