fleshing out properties

its messy, might change it