update to how api handles user input. update to how render applies styling to elements by using prototypes and better utilizing the DOM api