added additional constructors for different known situations