adding generic freedom handler