adden comments for you. :) IMPORTANT: do not change this classes, copy
them!