Draft of struct.this rewrite