charlie's functions