added better commenting