add app key and id to constructor rather than pass per method call