added autoencoder class