modify creational pattern!
modify creational pattern!
udpate adapter pattern!