Additional code factorisation
More functionality implemented.