refactored log store and added a log interface to contracts