new abstract class bdd preparing modularised approach for buddy and sylvan