Implement Struct