i don't really understand the code either