don't call funtion first