added custom funcional interfaces