base module done based on rest-mixin