fixed controller handling