updated rules; support for transforming buttons