Added adapter & prototype patterns