added dependencies and added external access