initialize self not endpoint