added init() method