fix: should return empty array when no result