lots of deletes and starting to get the structure right, still needs lots of testing