init prototype function