delegare to structure instead of extending