ALL FUNCTIONALITY IMPLEMENTED