added varying frequency