pred functionality