dynamically add/remove endpoints