#21 clean code + minor changes in bytecode_generator