almost generation result. argh