minor improvement (using singletonList instead of arraylist)