TODO: ask Chase why he wrote the code this way