added comments for the new component functions
removed default paths and such from Component

also wrote a ton of tests