address discussion and extend tests