Why so many functions? Maybe some more context would help me make sense of it..