interface, method, struct