added testing framework and new components