added a bunch of tests and removed @synthesize calls