create base constructor