basic framework for testing