few more changes -- WIP -- might get reversed