starting to write out append/new logic... it currently sucks