trainable
not defined yet