updated player controller