data creation is done only once at the beginning now