Major: readable code

+ Minor:
-- added sane debug information
-- some handling improvement