generate base models