fix some todo bugs