add ability to use external slice for payload