use __construct