implemented freq adaptation