make different types of instances too