added functional and test classes