code cleanup part2