we can now work with subtypes aka marker interfaces