Freebird

merge new changes to the master freebird branch