work in progress! come back later, maybe
lets see if i even continue working on this...