make into a decorator
switch to decorator
-