added some code
some tests...