button structures

this is a work in progress