change to better solution