fixed dart logic