moved functional tests into their own files