merged add implementation to gamecontroller to fix bugs