Added adapter pattern