add 2-arg support in constructor to create from start/end points