first get data then render