complete redesign - part 1
complete redesign - part 2