prototypes. Fixes #28