1) Directly use data from game controller 2) Fix memory leak