added prototype function