allow padId to be passed into the hook
blah use async