added hardware acceleration!