add gpu functionality