more changes to support internal properties

* positioning now works
* button customized to variant or product
* more tests