make some changes
realize all the function