updted tests and todo