fix switchable add function bug