add prototype function