added some basic functional tests