added apply + lapply