rough draft of new special struct function