Restructuring to use prototypes
Further restructuring to use prototypes
Version bump