cleanup part 1
cleanup part 2