constructor strict