Extending expressivity and flexibility of abductive logic programming