added architechture design