trying a better solution