graphic card refactoring. Using interruptions instead