base structor