adding new function ability