add structure and basis