elements.button: improved