new API - rewrote all models
rewrote encoders