abstracting js guest