change this a better way