new way of breaking things - struct pointers