binding: nicer constructors