added Option[List[X]].size check