added some commenting