that seems ugly, could a decorator be written for that?