More advanced test class
some changes to the refactoring. not working yet.