new version based on tornado