ported to gtk3 & python3