refactoring of vircolls to split into pojo and executor