* reorganizing code, part2