add the functional samle