using prototypes and exports