updating the way prototypes are created