Added implementation code