huge method, can we split in smalled methods