Refactore the design
deleted the previous designed class