implemented either flatMap