renamed Interpreter to collector, not sure if it good name