the BD construction needs monads