main design part 1