abstracted some methods from rbm to ann