Added classes according to Architecture diagram