Additional tests and clearer flow