* major code cleanup (part 1)