added init() alternative to __construct()