Extract items generation in separate method since it takes quite a bit of space here