implemented three test classes