STABLE: added more comments
STABLE: finished commenting