finish method construct & some stuff