exercises

we should add some unit test for this - i can show a sample of it later.