hardware acceleration. closes #8