add tests - 99% pass. weird comentd with todos