Divid and reimplement virtual markers