some testing and more boiler plate