some random commit that I will trash in minutes. but works ;) I realize my design is broken here, so will rewrite it completely