added more comments and made some name changes to the custom elements to follow naming conventions.