reopen #21 modified BSolver class