Base model and generators