init accepts all signatures