removed constructor to allow use as mixin