empty() does not like method calls as arguments. who knew?