builtin prototypes -- NEED ERROR-CHECKING!