added a third method & organised libs