class and struct