constructor and methods added