Added details to implementation