- there are still some edge cases we can't account for