bug fix and todo.