min and max are dynamic