changed the interface of the execute and the prepare function to allow for anonymous variables