Added prototype implementations