refactoring to remove unrequired interfaces and base classes
improving robustness and performance
refactoring loggedin provider to record per day