base log implemented