PLD: abstract functions, closes #112