added prototype stuff