fix method signature
check nil, not empty?