add cosine generator