Refavtor predict function