maybe it could go to a decorator? (there's a logic here)