add inline "add" support and some more finetuning with mixins