added bounds and boundry_conditions