need to find a better way