added constructor and work method