function call now support zero argument