add assertion
remove unnecessary overload
sync master