added comments n stuff