with proper struct wrapper...