Code cleanup
Added variants