working out some hardware acceleration