introduce statitics and rename func/variables