Add comments. Seperate draw function from update