added bdd, further implementing, currently red tested