add part function select