add many functions that nearly made me die