why are you returning List? it can be ordinary iterable