more prolog goodness