Implementation of the following works