first hacked-up impl of some struct stuff