init now takes carrier frequency as an argument