added some tests and classes