added prototype main