some changed to property handling, property injection