changed oop style to closure
added usage_report class