added testing framework (basic unit testing)