change api names
add remove listeners