added sine stuff