rebase to lgpl v3