improve database gen