the ID counter may work for now but add a comment that this should be done better