note a design flaw that i should fix somehow