more or less what i had in mind with this whole thingy