Starting on singleton and lazy implementation