finsihed functions