fixed add function handler