clarify stuff, add comments