updated to working 4 variants