Use interface and enum instead