add some functions and preds