improve the predict