added init()